SGA.Controller = function(){
    this.navController = [];
};

SGA.Controller.prototype.updateDetailsScreen = function(){
    var screen = SGA.view.getCmp('detailsScreen');
    var data = screen.data;
    var html = 
        '<div class="detMain"> <div class="detNome"> ' + data.nome + 
        '</div> <div class="detDia"> ' + data.dia + ' - ' + data.horario + 
        '</div> <div class="detSta"> <span class="detStaTit"> Presença: </span> ' + data.status +
        '</div> <div class="detLid"> <span class="detLidTit">Líder: </span>' + data.lider + 
        '</div> <div class="detPart"> <span class="detPartTit">Participantes: </span>';
    for(var i = 0; i < data.participantes.length; i++){
         html += data.participantes[i];
         if(i != data.participantes.length - 1){
             html += ", ";
         }
    }
    
    html +=
        '</div> <div class="detDesc"> <div class="detDescTit"> Descrição </div> ' + data.desc + 
        '</div> </div>';
    
    screen.update(html);
    SGA.view.changeToolbarTitle(data.nome);
    this.checkButtons();
};

SGA.Controller.prototype.changeScreen = function(id){
    //this.navController.push(id);
    var p = SGA.view.getCmp('mainScreen');
    this.navController.push(p.getActiveItem().id)
    p.setActiveItem(id);
    this.checkButtons();
};

SGA.Controller.prototype.returnScreen = function(){
    var id = this.navController.pop();
    
    SGA.view.getCmp('mainScreen').setActiveItem(id,{type:'slide', direction:'right'});
    this.checkButtons();
};

SGA.Controller.prototype.login = function(){
    var login = Ext.getCmp('loginField').getValue(),
        pw = Ext.getCmp('passwordField').getValue();
    if(login == "usuario" && pw == "senha"){
        SGA.ct.changeScreen('schedCarousel');
    } else {
        Ext.Msg.alert('Erro', 'Usuário ou senha inválidos.');
    }
}

SGA.Controller.prototype.logout = function(){
    
    var id;
        
    while(this.navController.length != 0)
        id = this.navController.pop();
    
    SGA.view.getCmp('mainScreen').setActiveItem(id,{type:'slide', direction:'right'});
    this.checkButtons();    
};

SGA.Controller.prototype.checkButtons = function(){
    console.log(this.navController);
    
    if(this.navController.length > 1)
        SGA.view.showBackButton();
    else if(this.navController.length <= 1)
        SGA.view.hideBackButton();
    
    if(this.navController.length >= 1)
        SGA.view.showLogoutButton();
    else if(this.navController.length == 0)
        SGA.view.hideLogoutButton();
    
    if(SGA.view.getCmp('mainScreen').getActiveItem().id == 'detailsScreen' && SGA.view.getCmp('detailsScreen').data.status == 'Pendente'){
        SGA.view.getCmp('confButton').show();
    }else{
        SGA.view.getCmp('confButton').hide();
    }
    
    if(SGA.view.getCmp('mainScreen').getActiveItem().id == 'schedCarousel')
        SGA.view.showCalButton();
    else
        SGA.view.hideCalButton();    
};

SGA.Controller.prototype.checkAuthentication = function(data){
    // buscar no banco de dados pela senha da relação entre o usuário e o evento
    var password = "123"; 
    
    Ext.Msg.prompt('Confirmar Presença', 'Digite a senha de identificação', function(pressed, text){
        if(pressed == 'ok'){
            if(text == password){
                data.status = 'Confirmado';
                SGA.ct.updateDetailsScreen();
            } else {
                window.setTimeout(function(){Ext.Msg.alert('Erro', 'Senha inválida.');}, 200);
            };
        }        
    });
}